package fr.afcepf.qualimetrie;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

/**
 * Classepour obtenir une connexion JDBC.
 * @author ric
 */
public final class UtilConnexionAtod18 {
    /**
     * Default private constructor.
     * @param args
     */
    private UtilConnexionAtod18() {
    }
    // ce bloc permet de faire du traitement au démarrage.
    static {
        Properties props = new Properties();
        /*
         * Positionnement au niveau class path pour
         * chercher ressource fichier "blaguejdbc.properties":
         * -Récupération instance processus en cours
         * -Emplacement du classpath ou s'execute les classes
         * et où se situe le fichier properties.
         */
        InputStream fichier =
                Thread.currentThread()
                .getContextClassLoader()
                .getResourceAsStream("blaguejdbc.properties");
        try {
            props.load(fichier);
            driver = props.getProperty("driver");
            url = props.getProperty("url");
            login = props.getProperty("login");
            pass = props.getProperty("pass");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * Driver JDBC.
     */
    private static String driver;
    /**
     * URL to database.
     */
    private static String url;
    /**
     * Database login.
     */
    private static String login;
    /**
     * Database password.
     */
    private static String pass;
    /**
     * Methode pour créer une connexionJDBC.
     * @return la connexion ouverte.
     */

    public static Connection getConnexion() {
        Connection cnx = null;
        try {
            Class.forName(driver);
            cnx = DriverManager.getConnection(url, login, pass);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return cnx;

    }
}
